#pragma once
#ifndef __LIST_H
#define __LIST_H

#include "Listitem.h"

class List
{
private:
	ListItem Header;
	int ListCount;
public:

	List();
	~List();

	void addListItem     ( ListItem &newItem);
	void addListItemBefore( ListItem &newItem,ListItem *Before);
	void PrintList  ( ListItem *From);
	void deleteListItem(ListItem *delItem);
	bool isEmpty();

	ListItem * getFirstItem();
	ListItem * getLastItem();
	ListItem * getPrevItem(ListItem *item);
	ListItem * getItemByIndex(int i);

	ListItem * operator[](int ind);
	int operator[](const ListItem &item);
	int getListCount(){return ListCount;}


};
#endif